package com.mapaower.payment.service;

import com.mapaower.payment.entity.MembershipRecharge;
import com.mapaower.payment.entity.MembershipType;
import java.util.List;
import java.util.Map;

public interface MembershipService {
    
    /**
     * 获取所有启用的会员类型
     */
    List<MembershipType> getEnabledMembershipTypes();
    
    /**
     * 创建会员充值订单
     */
    MembershipRecharge createRechargeOrder(Long userId, Long membershipTypeId, MembershipRecharge.PaymentMethod paymentMethod);
    
    /**
     * 更新会员类型启用状态
     */
    MembershipType updateMembershipTypeStatus(Long typeId, boolean enabled);
    
    /**
     * 查询用户充值记录
     */
    List<MembershipRecharge> getUserRechargeRecords(Long userId, MembershipRecharge.RechargeStatus status);
    
    /**
     * 处理支付回调
     */
    String handlePaymentCallback(String paymentMethod, Map<String, String> callbackParams);
}